package com.payment.transactions.model;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 支付交易记录模型
 */
@Data
public class PaymentTransaction {

    /**
     * 主键，唯一标识每条记录
     */
    private Integer id;

    /**
     * 支付平台，区分支付宝和微信
     */
    private Integer paymentPlatform;

    /**
     * 交易时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date transactionTime;

    /**
     * 交易分类
     */
    private String transactionCategory;

    /**
     * 交易对方
     */
    private String transactionPartner;

    /**
     * 对方账号
     */
    private String partnerAccount;

    /**
     * 商品说明
     */
    private String productDescription;

    /**
     * 收支类型
     */
    private Integer incomeExpense;

    /**
     * 金额，保留两位小数
     */
    private BigDecimal amount;

    /**
     * 收/付款方式
     */
    private String paymentMethod;

    /**
     * 交易状态
     */
    private String transactionStatus;

    /**
     * 交易订单号
     */
    private String transactionOrderNumber;

    /**
     * 商家订单号
     */
    private String merchantOrderNumber;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 删除标记（1：已删除，0：未删除）
     */
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;
}